package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.entity.AbdulBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;

/**
 * 积分获取规则（存储消费金额与积分获取比例的规则）对象 points_acquisition_rule
 *
 * @author ruoyi
 * @date 2025-05-15
 */
@ApiModel("积分获取规则")
@Data
public class PointsAcquisitionRule extends AbdulBaseEntity {
    private static final long serialVersionUID = 1L;

    /** 自增主键，唯一标识每条积分获取规则记录 */
    @ApiModelProperty("自增主键，唯一标识每条积分获取规则记录")
    private Long id;

    /** 规则名称（如“基础消费积分规则”“会员日双倍积分规则”） */
    @Excel(name = "规则名称", readConverterExp = "如=“基础消费积分规则”“会员日双倍积分规则”")
    @ApiModelProperty("规则名称（如“基础消费积分规则”“会员日双倍积分规则”）")
    private String ruleName;

    /** 积分获取是否启用（TRUE: 启用，FALSE: 不启用） */
    @Excel(name = "积分获取是否启用", readConverterExp = "T=RUE:,启=用，FALSE:,不=启用")
    @ApiModelProperty("积分获取是否启用（TRUE: 启用，FALSE: 不启用）")
    private  Boolean isEnabled;

    /** 每消费金额（单位：元，如“1”表示每消费1元触发积分计算） */
    @Excel(name = "每消费金额", readConverterExp = "单=位：元，如“1”表示每消费1元触发积分计算")
    @ApiModelProperty("每消费金额（单位：元，如“1”表示每消费1元触发积分计算）")
    private BigDecimal consumptionAmount;

    /** 每消费指定金额可获取的积分（如“1”表示每消费consumption_amount元得1积分） */
    @Excel(name = "每消费指定金额可获取的积分", readConverterExp = "如=“1”表示每消费consumption_amount元得1积分")
    @ApiModelProperty("每消费指定金额可获取的积分（如“1”表示每消费consumption_amount元得1积分）")
    private Long pointsPerConsumption;

    /** 规则状态（NORMAL: 正常，DISABLED: 已禁用） */
    @Excel(name = "规则状态", readConverterExp = "N=ORMAL:,正=常，DISABLED:,已=禁用")
    @ApiModelProperty("规则状态（NORMAL: 正常，DISABLED: 已禁用）")
    private String status;

    /** 规则描述 */
    @Excel(name = "规则描述")
    @ApiModelProperty("规则描述")
    private String ruleDescription;

    /** 规则生效开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "规则生效开始日期")
    @ApiModelProperty("规则生效开始日期")
    private Date effectiveStartDate;

    /** 规则生效结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "规则生效结束日期")
    @ApiModelProperty("规则生效结束日期")
    private Date effectiveEndDate;

    /** 手机号 */
    @Excel(name = "手机号")
    @ApiModelProperty("手机号")
    private String phone;
}